package com.battle.service.service.in;

import nirvana.core.domains.vo.PageResult;
import com.battle.pojo.param.studyPlanUser.*;
import com.battle.pojo.vo.studyPlanUser.*;

import java.util.List;


/**
 * 【描 述】：用户学习进度服务
 * 【环 境】：J2SE
 * 【详 细】：
 */
public interface StudyPlanUserService {

    /**
     * 创建用户学习进度
     *
     * @param param
     */
    void createStudyPlanUser(CreateStudyPlanUserParam param);

    /**
     * 修改用户学习进度
     *
     * @param param
     */
    void editStudyPlanUser(EditStudyPlanUserParam param);

    /**
     * 移除用户学习进度
     *
     * @param id
     */
    void removeStudyPlanUser(Long id);

    /**
     * 启动/禁用用户学习进度
     *
     * @param id
     */
    void enabledStudyPlanUser(Long id);

    /**
     * 根据用户和学习计划id获取学习进度
     * @param planId
     * @param userId
     * @return
     */
    List<GetStudyPlanUserVo> getStudyPlanUser(Long planId,Long userId);

    /**
     * 获取用户学习进度列表
     *
     * @param param
     * @return
     */
    PageResult<GetStudyPlanUserListVo> getStudyPlanUserList(GetStudyPlanUserListParam param);


    /**
     * 获取用户学习进度下拉列表
     *
     * @param param
     * @return
     */
    List<GetStudyPlanUserDownListVo> getStudyPlanUserDownList(GetStudyPlanUserDownListParam param);


}